package raf;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 * java.io.RandomAccessFile
 * RAF是专门用来读写文件的API,其基于指针对文件任意位置进行读写操作,因此读写方式灵活
 */
public class RAFDemo1 {
    public static void main(String[] args) throws IOException {
         /*
         常用构造器
                RandomAccessFile(File file,String mode)
                RandomAccessFile(String fileName,String mode)
                第一个参数为要操作的文件,第二个参数为操作模式
                操作模式是一个字符串,支持两个值:
                "r":只读模式,仅对文件做读取操作.
                "rw":读写模式,对文件即可读又可写

                RAF在创建时,若指定的文件不存在,则根据操作模式不同,结构不同
                如果指定的是rw模式,则会将该文件创建出来
                如果指定的是r模式,则会抛出异常FileNotFoundException,告知该文件不存在
                */
        //相对当前目录下的raf.dat文件进行操作
        //File file =new File("/raf.dat");

        RandomAccessFile raf=new RandomAccessFile("./raf.dat","rw");

      /*  void write(int d)
        向文件中写入一个字节,写入的是给定的int值所对应的2进制的"低八位"
        int:1
                                vvvvvvvvvvvvvvvvvvvvv
        2进制:00000000 00000000 00000000 00000001
       */
        raf.write(1);
        raf.write(2);//00000000 00000000 00000000 00000000
    }/*
    写入操作执行完毕后,raf.dat文件内容
    000000001 00000010
    */
}
